import { TASKS } from '@/services/api'
import { request, METHOD } from '@/utils/request'

/**
 * 任务列表
 * @param searchData 需要提交的数据
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function list(searchData) {
  return await request(TASKS, METHOD.GET, {
    ...searchData
  })
}
/**
 * 任务详情
 * @param id 需要提交的数据
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function detail(id) {
  return await request(TASKS + '/detail', METHOD.GET, {
    id
  })
}
/**
 * 新增任务
 * @param data 需要提交的数据
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function add(data) {
  return request(TASKS + '/insert', METHOD.POST, {
    ...data
  })
}
/**
 * 编辑任务
 * @param data 需要提交的数据
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function edit(data) {
  return request(TASKS + '/edit', METHOD.POST, {
    ...data
  })
}
/**
 * 删除任务
 * @param {String/Array} ids 需要提交的数据
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function deleteItem(ids) {
  return request(TASKS + '/deletes', METHOD.POST, {
    ids
  })
}
/**
 * 新增任务联系人
 * @param data 需要提交的数据
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function addLink(data) {
  return request(TASKS + '/insert', METHOD.POST, {
    ...data
  })
}
/**
 * 开始任务
 * @param id 任务的 id
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function start(id) {
  return request(TASKS + '/start', METHOD.POST, {
    id:id,
  
  })
}
/**
 * 暂停任务
 * @param id 任务的 id
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function pause({id,desc}) {
  return request(TASKS + '/pause', METHOD.POST, {
    id:id,
    desc:desc
  })
}
/**
 * 完成任务
 * @param id 任务的 id
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function finish({id,desc}) {
  return request(TASKS + '/finish', METHOD.POST, {
    id:id,
    desc:desc
  })
}
/**
 * 中止任务
 * @param id 任务的 id
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function suspend({id,desc}) {
  return request(TASKS + '/suspend', METHOD.POST, {
    id:id,
    desc:desc
  })
}

/**
 * 获取任务log
 * @param id 任务的 id
 * @returns {Promise<AxiosResponse<T>>}
 */
export async function logs(id) {
  return request(TASKS + '/logs', METHOD.GET, {
    id:id,
  })
}
